function [a x y] = Remes2(n, f)
%Functia care aplica algoritmul Remes2, astfel: aplica algoritmul Remes 1
%atat timp cat puncul in care f(x) - P( polinomul dat de Remes1) nu este 
%un punct de interpolare. La fiecare pas, se modifica punctele de interpolare.
%
%	Date de intrare:
%		- n  -> gradul plinomului;
%		- f  -> functia careia se cere sa se calculeze polinomul minmax.
%
%	Date de iesire:
%		- a  -> vectorul ce contine coeficentii polinomului;
%		- x  -> vectorul ce contine abscisele punctelor de interpolare;
%		- y  -> vectorul ce contine ordonatele punctelor de interpolare.

nrapel = 0;
[a, x, y] = Remes1(n, f, nrapel);
ok = 0;
while(ok == 0)
	xm = cauta( f, a, x);
	ok = sum( xm == x );
	if( ok == 0) %daca xm nu se afla printre punctele x
                p = identifica( x,  xm);
                if( (y( p ) - pn( a, x( p ) ) ) * ( f( xm ) - pn( a, xm ) ) > 0 )
                      x(p) = xm;
                      y(p) = f(xm);
		else
		      x(p+1) = xm;
		      y(p+1) = f(xm);
		endif
	nrapel++;
	[a x y] = Remes1_modificat( n, f, x, y, nrapel);
	 endif
endwhile
endfunction
